Often workflows or processes in any particular industry involve a series of actions or steps that are performed sequentially to produce an end result. As a result, performing any action in the process or workflow other than the initial action, requires performing all sequential actions leading up to the selected action to perform. Because some actions are not required to perform other actions, the sequential repetition of all actions preceding the selected action is often inefficient and time consuming. In the following example, a process or workflow includes five actions represented by the following five sequential steps:
Step 1: Read a file and produce object A;
Step 2: Read a file and produce object B;
Step 3: Read a file and produce object C;
Step 4: Use object A and object B to produce object D; and
Step 5: Use object D and object C to produce object E.
In this manner, each step representing an independent action is sequentially performed although steps 2 and 3 do not have prerequisite actions that are required to enable each of these steps and step 4 does not require step 3 to enable it. If, for example, the only action selected is step 4 to produce object D, then steps 1, 2 and 3 would be sequentially performed although step 3 is unnecessary to produce object D.
Other attempts to improve efficiency of a process or workflow comprising sequential steps have relied on the predetermined selective removal of unnecessary actions or steps in the process or workflow, which must be repeated each time an action is performed and/or may produce erroneous results due to the unintentional removal of necessary actions. In other words, these attempts fail to provide repeatability and reliability.